package com.thwj.project.pay.domain;

    import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thwj.common.annotation.Excel;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

;

/**
 * 微信退款回调信息对象 wx_refund_callback_info
 *
 * @author generate
 * @date 2023-06-12
 */

@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("wx_refund_callback_info")
public class WxRefundCallbackInfo extends Model<WxRefundCallbackInfo>{
private static final long serialVersionUID=1L;

    /** 主键 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 原始回调结果解密前 */
            @Excel(name = "原始回调结果解密前")
    private String backDataBefore;

    /** 原始回调结果解密后 */
            @Excel(name = "原始回调结果解密后")
    private String backDataAfter;

    /** 支付成功时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "支付成功时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date backTime;

    /** 小程序ID */
            @Excel(name = "小程序ID")
    private String appid;

    /** 商户号 */
            @Excel(name = "商户号")
    private String muchId;

    /** 随机字符串 */
            @Excel(name = "随机字符串")
    private String nonceStr;

    /** 订单金额 */
            @Excel(name = "订单金额")
    private Integer totalFee;

    /** 微信支付订单号 */
            @Excel(name = "微信支付订单号")
    private String transactionId;

    /** 商户订单号 */
            @Excel(name = "商户订单号")
    private String outTradeNo;

    /** 返回状态码 */
            @Excel(name = "返回状态码")
    private String returnCode;

    /** 返回信息 */
            @Excel(name = "返回信息")
    private String returnMsg;

    /** 退款交易号 */
            @Excel(name = "退款交易号")
    private String outRefundNo;

    /** 退款状态 */
            @Excel(name = "退款状态")
    private String refundStatus;

    /** 应结订单金额 */
            @Excel(name = "应结订单金额")
    private Integer settlementTotalFee;

    /** 退款金额 */
            @Excel(name = "退款金额")
    private Integer refundFee;

    /** 应结退款订单金额 */
            @Excel(name = "应结退款订单金额")
    private Integer settlementRefundFee;

    /** 退款入账账户 */
            @Excel(name = "退款入账账户")
    private String refundRecvAccout;

    /** 退款资金来源 */
            @Excel(name = "退款资金来源")
    private String refundAccount;

    /** 退款发起来源 */
            @Excel(name = "退款发起来源")
    private String refundRequestSource;




    @Override
    public Serializable pkVal() {
        return this.id;
    }
}
